package cn.edu.scau.cmi.tangqingning.model;

/**
 * Group是小组实体类
 * 
 * @author 刘岳鑫
 * 
 */
public class Group {
	private int groupNumber; // 小组号码
	private Student student; // 小组成员
	private String proIntroduction; // 小组介绍
	private String proRequirement; // 项目要求
	private String proDivision; // 小组分工
	private int numberOfEvaluater = 0; // 该小组被评过的人数
	private double functionScore = 0; // 功能平均分
	private double interfaceScore = 0; // 界面效果平均分
	private double innovationScore = 0; // 创新性平均分
	private double oralDefenseScore = 0; // 答辩表现平均分
	private double averageScore = 0; // 总平均分==上面4个相加
	/*
	 * 下面几个数据域用于计算平均分 中间变量。
	 */
	private double functionTotalScore = 0; // 原功能总分
	private double interfaceTotalScore = 0; // 原界面效果总分
	private double innovationTotalScore = 0; // 原创新性总分
	private double oralDefenseTotalScore = 0; // 原答辩表现总分

	/**
	 *  getGroupNumber方法用于获取groupNumber的值
	 *  @return：groupNumber
	 */
	public int getGroupNumber() {
		return groupNumber;
	}

	/**
	 *  setGroupNumber方法用于设置GroupNumber的值
	 *  @param groupNumber int
	 *  
	 */
	public void setGroupNumber(int groupNumber) {
		this.groupNumber = groupNumber;
	}

	/**
	 *  getProIntroduction方法用于获取proIntroduction的值
	 *  @return：proIntroduction
	 */
	public String getProIntroduction() {
		return proIntroduction;
	}

	/**
	 *  setProIntroduction方法用于设置proIntroductionr的值
	 *  @param proIntroduction String
	 */
	public void setProIntroduction(String proIntroduction) {
		this.proIntroduction = proIntroduction;
	}

	/**
	 *  getProRequirement方法用于获取proRequirement的值
	 *  @return：proRequirement
	 */
	public String getProRequirement() {
		return proRequirement;
	}

	/**
	 * 设置proRequirement
	 * @param proRequirement String
	 */
	public void setProRequirement(String proRequirement) {
		this.proRequirement = proRequirement;
	}

	/**
	 *  getProDivision方法用于获取proDivision的值 
	 *  @return：proDivisiont
	 */
	public String getProDivision() {
		return proDivision;
	}

	/**
	 * 设置proDivision
	 * @param proDivision String
	 */
	public void setProDivision(String proDivision) {
		this.proDivision = proDivision;
	}

	/**
	 *  getFunctionScore方法用于获取functionScore的值
	 *  @return：functionScore
	 */
	public double getFunctionScore() {
		return functionScore;
	}

	/**
	 * 设置functionScore
	 * @param functionScore double
	 */
	public void setFunctionScore(double functionScore) {
		this.functionScore = functionScore;
	}

	/**
	 *  getInterfaceScore方法用于获取interfaceScore的值 
	 *  @return：interfaceScore
	 */
	public double getInterfaceScore() {
		return interfaceScore;
	}

	/**
	 * 设置interfaceScore
	 * @param interfaceScore double
	 */
	public void setInterfaceScore(double interfaceScore) {
		this.interfaceScore = interfaceScore;
	}

	/**
	 *  getInnovationScore方法用于获取innovationScore的值  
	 *  @return：innovationScore
	 */
	public double getInnovationScore() {
		return innovationScore;
	}

	/**
	 * 设置innovationScore
	 * @param innovationScore double
	 */
	public void setInnovationScore(double innovationScore) {
		this.innovationScore = innovationScore;
	}

	/**
	 *  getOralDefenseScore方法用于获取oralDefenseScore的值  
	 *  @return：oralDefenseScore
	 */
	public double getOralDefenseScore() {
		return oralDefenseScore;
	}

	/**
	 * 设置oralDefenseScore
	 * @param oralDefenseScore double
	 */
	public void setOralDefenseScore(double oralDefenseScore) {
		this.oralDefenseScore = oralDefenseScore;
	}

	/**
	 *  getNumberOfEvaluater方法用于获取numberOfEvaluater的值 
	 *  @return：numberOfEvaluater
	 */
	public int getNumberOfEvaluater() {
		return numberOfEvaluater;
	}

	/**
	 * 设置numberOfEvaluater
	 * @param numberOfEvaluater int
	 */
	public void setNumberOfEvaluater(int numberOfEvaluater) {
		this.numberOfEvaluater = numberOfEvaluater;
	}

	/**
	 *  getFunctionTotalScore方法用于获取functionTotalScore的值 
	 *  @return：functionTotalScore
	 */
	public double getFunctionTotalScore() {
		return functionTotalScore;
	}

	/**
	 * 设置functionTotalScore
	 * @param functionTotalScore double
	 */
	public void setFunctionTotalScore(double functionTotalScore) {
		this.functionTotalScore = functionTotalScore;
	}

	/**
	 *  getInterfaceTotalScore方法用于获取interfaceTotalScore的值  
	 *  @return：interfaceTotalScore
	 */
	public double getInterfaceTotalScore() {
		return interfaceTotalScore;
	}

	/**
	 * 设置interfaceTotalScore
	 * @param interfaceTotalScore double
	 */
	public void setInterfaceTotalScore(double interfaceTotalScore) {
		this.interfaceTotalScore = interfaceTotalScore;
	}

	/**
	 *  getInnovationTotalScore方法用于获取innovationTotalScore的值 
	 *  @return：innovationTotalScore
	 */
	public double getInnovationTotalScore() {
		return innovationTotalScore;
	}

	/**
	 * 设置 innovationTotalScore
	 * @param innovationTotalScore double
	 */
	public void setInnovationTotalScore(double innovationTotalScore) {
		this.innovationTotalScore = innovationTotalScore;
	}

	/**
	 *  getOralDefenseTotalScore方法用于获取oralDefenseTotalScore的值
	 *  @return：oralDefenseTotalScore
	 */
	public double getOralDefenseTotalScore() {
		return oralDefenseTotalScore;
	}

	/**
	 * 设置oralDefenseTotalScore
	 * @param oralDefenseTotalScore double
	 */
	public void setOralDefenseTotalScore(double oralDefenseTotalScore) {
		this.oralDefenseTotalScore = oralDefenseTotalScore;
	}

	/**
	 *  getAverageScore方法用于获取averageScore的值
	 *  @return：averageScore
	 */
	public double getAverageScore() {
		return averageScore;
	}

	/**
	 *  设置AverageScore的值，f、i、in、o代表4个指标的分数
	 *  @param f double
	 *  @param i double
	 *  @param in double
	 *  @param o double
	 */
	public void setAverageScore(double f, double i, double in, double o) {
		this.averageScore = f + i + in + o;
	}

	/**
	 *  getGroupNumber方法用于获取student对象
	 *  @return：student
	 */
	public Student getStudent() {
		return student;
	}

	/**
	 * setStudent方法用于设置student对象
	 * 
	 * @param student Student
	 */
	public void setStudent(Student student) {
		this.student = student;
	}

	/**
	 *   构造方法Group
	 */
	public Group() {
	}

	/**
	 *   构造方法Group
	 *   @param  student Student
	 */
	public Group(Student student) {
		this.student = student;
	}

	/**
	 *   构造方法Group
	 *   @param  groupNumber int
	 */
	public Group(int groupNumber) {
		this.groupNumber = groupNumber;
	}

	/**
	 * Group是构造方法
	 * 
	 * @param groupNumber int
	 * @param proIntroduction String
	 * @param proRequirement String
	 * @param proDivision String
	 * @param numberOfEvaluater int
	 * @param functionScore double
	 * @param interfaceScore double
	 * @param innovationScore double
	 * @param oralDefenseScore double
	 * @param averageScore double
	 */
	public Group(int groupNumber, String proIntroduction, String proRequirement, String proDivision,
			int numberOfEvaluater, double functionScore, double interfaceScore, double innovationScore,
			double oralDefenseScore, double averageScore) {
		this.groupNumber = groupNumber;
		this.proIntroduction = proIntroduction;
		this.proRequirement = proRequirement;
		this.proDivision = proDivision;
		this.numberOfEvaluater = numberOfEvaluater;
		this.functionScore = functionScore;
		this.interfaceScore = interfaceScore;
		this.innovationScore = innovationScore;
		this.oralDefenseScore = oralDefenseScore;
		this.averageScore = averageScore;

	}

	/**
	 * Group是构造方法
	 * 
	 * @param groupNumber int
	 * @param proIntroduction String
	 * @param proRequirement String
	 * @param proDivision String
	 */
	public Group(int groupNumber, String proIntroduction, String proRequirement, String proDivision) {
		this.groupNumber = groupNumber;
		this.proIntroduction = proIntroduction;
		this.proRequirement = proRequirement;
		this.proDivision = proDivision;
	}

}
